Server virtualization in data centers or related environments is a key enabling technology for cloud computing. In general, server virtualization describes a software abstraction that separates a physical resource and its use from the underlying physical machine. Most physical resources can be abstracted and provisioned as virtualized entities. Accordingly, a single physical machine can host a plurality of virtual machines, each having its own operating system, referred to as a guest operating system (OS), thereby allowing multiple users to share the physical machine.
The desire to overlay virtual networks on physical networks within a data center environment provides several benefits. One well-known benefit is that virtual networks can simplify network provisioning for the data center client in public, private, or multi-tenant cloud environments.